In application contexts, such as Web browser contexts, data that is utilized by an application can be stored in various locations. For example, in Web browser contexts, “data” can refer to local sources of user data such as history URLs and/or external sources of data such as search results from third party search providers. In addition, different data sources can store data in different formats. Different data sources can utilize different data access mechanisms which can complicate matters when an application wishes to retrieve and use data from different data sources. Further complications can exist when data comprises different types of data, such as that which is stored in different formats. For example, individual data sources can typically have their own specific associated set of application program interfaces (APIs). This means that an application should be knowledgeable of each of the individual APIs in order to retrieve and utilize data from different data sources.
In the environment of different data sources and different types of data, it is difficult to access collections of data from different sources. Additionally, it is difficult to seamlessly add new data sources that are to be used by an application because the new data sources may employ access mechanisms that are unknown to an application.